import axios from 'axios';
import { ElMessage } from 'element-plus'; // 如果你用了 Element Plus，可以弹消息用

// 创建 axios 实例
const request = axios.create({
  baseURL: 'http://172.20.10.3:8089', // 🔁 你的后端接口地址
  timeout: 10000, // 超时时间
  headers: {
    'Content-Type': 'application/json',
  },
  withCredentials: true // 确保携带 Cookie
});

// 请求拦截器
request.interceptors.request.use(
  config => {
    return window.electronAPI.getToken().then(token => {
      if (token) {
        config.headers['Authorization'] =  token; 
      }
      return config;
    });
  },
  error => Promise.reject(error)
);

// 响应拦截器
request.interceptors.response.use(
  response => {
    // 后端统一封装了 { code, msg, data } 的话可以在这处理
    const res = response.data;
    if (res.code !== 200) {
      ElMessage.error(res.msg || '请求失败');
      return Promise.reject(new Error(res.msg || 'Error'));
    }
    return res.data; // 直接返回后端的 data 字段
  },
  error => {
    ElMessage.error(error.message || '请求错误');
    return Promise.reject(error);
  }
);

export default request;
